package com.engine.salary.entity.salaryacct.param;

import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeInfoDTO;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Collection;

/**
 * 薪资核算结果保存参数
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryAcctResultSaveParam {

    //薪资核算人员的id
    @DataCheck(require = true,message = "参数错误，薪资核算人员不能为空")
    private Long salaryAcctEmpId;

    //各个薪资项目的值
    @DataCheck(require = true,message = "薪资项目的值的集合不能为空")
    private Collection<SalaryAcctResultDetailItemParam> items;

    // 员工基础信息
    private Collection<SalaryAcctEmployeeInfoDTO> employeeInfos;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SalaryAcctResultDetailItemParam {

        //薪资项目的id
        private Long salaryItemId;

        //核算结果的值
        private String resultValue;
    }
}
